C4: verified transactional objects

نویسندگان

چکیده

Transactional objects combine the performance of classical concurrent with high-level programmability transactional memory. However, verifying correctness is tricky, requiring reasoning simultaneously about objects, which guarantee atomicity individual methods—the property known as linearizability—and software-transactional-memory libraries, user-defined sequences method calls—or serializability. We present a formal-verification framework called C4, built up from familiar notion linearizability and its compositional properties, that allows proof both kinds along composition theorems styles to prove applications or further libraries. apply in significant case study, set object out components following technique predication ; modular, separately nontransactional parts implementation. Central our approach use syntactic transformers on interaction trees —i.e., libraries transform client code enforce particular synchronization disciplines. Our studies are mechanized Coq.

برای دانلود باید عضویت طلایی داشته باشید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Transactional Monitors for Concurrent Objects

Transactional monitors are proposed as an alternative to monitors based on mutual-exclusion synchronization for object-oriented programming languages. Transactional monitors have execution semantics similar to mutualexclusion monitors but implement monitors as lightweight transactions that can be executed concurrently (or in parallel on multiprocessors). They alleviate many of the constraints t...

متن کامل

Consensus Numbers of Transactional Objects

This paper describes the ability of asynchronous shared-memory distributed systems to solve the consensus problem in a wait-free manner if processes are permitted to perform transactions on the shared memory in a single atomic action. It will be shown that transactional memory is often extremely powerful, even if weak types of shared objects are used and the transactions are short. Suppose T is...

متن کامل

Towards a Verified Implementation of Software Transactional Memory

In recent years there has been much interest in the idea of concurrent programming using transactional memory, for example as provided in STM Haskell. While programmers are provided with a simple high-level model of transactions in terms of a stop-the-world semantics, the low-level implementation is rather more complex, using subtle optimisation techniques to execute multiple concurrent transac...

متن کامل

A Theory of Vertically Composable Transactional Objects

We introduce a methodology and formal model that captures the essence of vertically composable transactional objects. Vertical composition adds complexity to transactional systems. As such, we aim to unearth a clean semantic model that strikes a balance between anticipating future implementation methodologies yet, nonetheless, offering a formal treatment of effective existing implementations. T...

متن کامل

Composable Transactional Objects: A Position Paper

Memory transactions provide programmers with a convenient abstraction for concurrent programs: a keyword (such as atomic) designating a region of code that appears, from the perspective of concurrent threads, to execute atomically. Unfortunately, existing implementations in the form of software transactional memory (STM) are often ineffective due to their monolithic nature: every single read or...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: Proceedings of the ACM on programming languages

سال: 2022

ISSN: ['2475-1421']

DOI: https://doi.org/10.1145/3527324